package com.d3works.studio.module;

import com.d3works.app.D3worksModule;
import com.d3works.meta.db.repo.MetaJsonFieldRepository;
import com.d3works.meta.db.repo.MetaJsonModelRepository;
import com.d3works.studio.db.repo.ActionBuilderRepo;
import com.d3works.studio.db.repo.ActionBuilderRepository;
import com.d3works.studio.db.repo.AppBuilderRepo;
import com.d3works.studio.db.repo.AppBuilderRepository;
import com.d3works.studio.db.repo.ChartBuilderRepo;
import com.d3works.studio.db.repo.ChartBuilderRepository;
import com.d3works.studio.db.repo.DashboardBuilderRepo;
import com.d3works.studio.db.repo.DashboardBuilderRepository;
import com.d3works.studio.db.repo.MenuBuilderRepo;
import com.d3works.studio.db.repo.MenuBuilderRepository;
import com.d3works.studio.db.repo.MetaJsonFieldRepo;
import com.d3works.studio.db.repo.MetaJsonModelRepo;
import com.d3works.studio.db.repo.SelectionBuilderRepo;
import com.d3works.studio.db.repo.SelectionBuilderRepository;
import com.d3works.studio.db.repo.WsAuthenticatorRepo;
import com.d3works.studio.db.repo.WsAuthenticatorRepository;
import com.d3works.studio.db.repo.WsConnectorRepo;
import com.d3works.studio.db.repo.WsConnectorRepository;
import com.d3works.studio.service.ChartRecordViewService;
import com.d3works.studio.service.ChartRecordViewServiceImpl;
import com.d3works.studio.service.loader.AppLoaderExportService;
import com.d3works.studio.service.loader.AppLoaderExportServiceImpl;
import com.d3works.studio.service.loader.AppLoaderImportService;
import com.d3works.studio.service.loader.AppLoaderImportServiceImpl;
import com.d3works.studio.service.mapper.MapperScriptGeneratorService;
import com.d3works.studio.service.mapper.MapperScriptGeneratorServiceImpl;
import com.d3works.studio.service.ws.WsAuthenticatorService;
import com.d3works.studio.service.ws.WsAuthenticatorServiceImpl;
import com.d3works.studio.service.ws.WsConnectoServiceImpl;
import com.d3works.studio.service.ws.WsConnectorService;

public class StudioModule extends D3worksModule {

  @Override
  protected void configure() {
    bind(ChartBuilderRepository.class).to(ChartBuilderRepo.class);
    bind(ActionBuilderRepository.class).to(ActionBuilderRepo.class);
    bind(MenuBuilderRepository.class).to(MenuBuilderRepo.class);
    bind(DashboardBuilderRepository.class).to(DashboardBuilderRepo.class);
    bind(AppBuilderRepository.class).to(AppBuilderRepo.class);
    bind(MetaJsonFieldRepository.class).to(MetaJsonFieldRepo.class);
    bind(MetaJsonModelRepository.class).to(MetaJsonModelRepo.class);
    bind(SelectionBuilderRepository.class).to(SelectionBuilderRepo.class);
    bind(MapperScriptGeneratorService.class).to(MapperScriptGeneratorServiceImpl.class);
    bind(AppLoaderImportService.class).to(AppLoaderImportServiceImpl.class);
    bind(AppLoaderExportService.class).to(AppLoaderExportServiceImpl.class);
    bind(ChartRecordViewService.class).to(ChartRecordViewServiceImpl.class);
    bind(WsConnectorService.class).to(WsConnectoServiceImpl.class);
    bind(WsAuthenticatorService.class).to(WsAuthenticatorServiceImpl.class);
    bind(WsConnectorRepository.class).to(WsConnectorRepo.class);
    bind(WsAuthenticatorRepository.class).to(WsAuthenticatorRepo.class);
  }
}
